1. Field of the Invention
This invention relates in general to computer-implemented database systems, and, in particular, to supporting database indexes based on a generalized B-tree index.
2. Description of Related Art
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. Relational databases are organized into tables which consist of rows and columns of data. The rows are formally called tuples or records. A database will typically have many tables and each table will typically have multiple tuples and multiple columns. The tables are typically stored on direct access storage devices (DASD), such as magnetic or optical disk drives for semipermanent storage.
Many traditional business transaction processing is done using a RDBMS. Since the inclusion of RDBMSs in business, user-defined data types and user-defined functions have been brought into RDBMSs to enrich the data modeling and data processing power. User-defined data based on the user-defined data types may include audio, video, image, text, spatial data (e.g., shape, point, line, polygon, etc.), time series data, OLE documents, Java objects, C++ objects, etc.
A table in a database can be accessed using an index. An index is an ordered set of references (e.g., pointers) to the records or rows in a database file or table. The index is used to access each record in the file using a key (i.e., one of the fields of the record or attributes of the row). Without an index, finding a record would require a scan (e.g., linearly) of an entire table. Indexes provide an alternate technique to accessing data in a table. Users can create indexes on a table after the table is built. An index is based on one or more columns of the table. A B-tree is a binary tree that may be used to store the references to the records in a table.
When a table contains user-defined data, conventional systems typically do not provide adequate support for database indexes based on a generalized B-tree index. Therefore, there is a need in the art for an improved technique for supporting database indexes based on a generalized B-tree index.